/**
 * @author ChaP
 * @date 2019/04/14
 * @describe:
 */
package CodingTest.AC20190414;
/**
 * 给定两个数组，编写一个函数来计算它们的交集。

 示例 1:

 输入: nums1 = [1,2,2,1], nums2 = [2,2]
 输出: [2]
 示例 2:

 输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
 输出: [9,4]
 说明:

 输出结果中的每个元素一定是唯一的。
 我们可以不考虑输出结果的顺序。
 */

import java.util.ArrayList;
import java.util.HashSet;
import java.util.Set;

public class intersection {
    public int[] intersection(int[] nums1,int[] nums2){
        Set<Integer> hs1 = new HashSet<>();
        Set<Integer> hs2 = new HashSet<>();
        for(int i = 0;i< nums1.length;i++){
            if(i<nums1.length)hs1.add(nums1[i]);
        }
        for(int j = 0;j<nums2.length;j++){
           if(hs1.contains(nums2[j])){
               hs2.add(nums2[j]);
           }
        }
        int[] res = new int[hs2.size()];
        int k = 0;
        for (Integer e: hs2) {
            res[k++] = e;
        }
        return res;
    }

    public static void main(String[] args) {
        intersection i  = new intersection();
        int[] nums1 = {1,2,2,1};
        int[] nums2 = {2,2};

        System.out.println(i.intersection(nums1,nums2));
    }
}
